package simplescenegraph;
import javax.swing.JFrame;

import simplescenegraph.assets.Texture;

public interface Renderer {
	
	public void register(JFrame f0);
	
	public void addCallback(RenderingCallback arg0);
	
	public void removeCallback(RenderingCallback arg0);
	
	public void initialize();
	
	public void destroy();
	
	public void createSkyBox(String topTextureFileName,
							   String leftTextureFileName,
							   String bottomTextureFileName,
							   String rightTextureFileName,
							   String frontTextureFileName,
							   String backTextureFileName,
							   float distance);
	
	public void render(View v0, GroupNode n0);
	
	public boolean cull(BoundingVolume b0);
	
	void bindMaterial(Material m0);
	
	void registerTexture(Texture t0);
	
	void bindTexture(Texture t0);
	
	void unbindTexture();
	
	void draw(String s0, int x, int y);
	
	void draw(Node n0);
	
	void draw(SceneObject o0);
	
	void draw(PolygonMesh m0);

	void draw(PointLight l0);
	
	void enableBoundingVolumes(boolean arg0);
	
}
 
